package com.gitee.qdbp.general.trade.api.order.manage.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 订单支付更新类
 *
 * @author zhh
 * @version 180625
 */
@OperateTraces(target = "where")
@DataIsolation(target = "where")
public class OrderPaymentUpdate extends OrderPaymentBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 收款类型(0.平台收款|1.商家收款|2.平台代商家收款)是否更新为空值 **/
    private Boolean receiveTypeToNull;

    /** 商家租户编号是否更新为空值 **/
    private Boolean tenantCodeToNull;

    /** 商家账户是否更新为空值 **/
    private Boolean merchantAccountToNull;

    /** 订单ID是否更新为空值 **/
    private Boolean orderIdToNull;

    /** 订单类型(0.捐款订单|1.商品订单)是否更新为空值 **/
    private Boolean orderTypeToNull;

    /** 关联业务ID是否更新为空值 **/
    private Boolean dataIdToNull;

    /** 用户ID是否更新为空值 **/
    private Boolean userIdToNull;

    /** 订单内容是否更新为空值 **/
    private Boolean orderContentToNull;

    /** 订单金额(人民币元)是否更新为空值 **/
    private Boolean orderAmountToNull;
    /** 订单金额(人民币元)的增加值 **/
    private Double orderAmountAdd;

    /** 支付金额(人民币元)是否更新为空值 **/
    private Boolean payAmountToNull;
    /** 支付金额(人民币元)的增加值 **/
    private Double payAmountAdd;

    /** 支付渠道(0.线下|1.支付宝|2.微信|3.银联)是否更新为空值 **/
    private Boolean payChannelToNull;

    /** 支付来源(1.PC网页支付|2.H5网页支付|3.APP支付)是否更新为空值 **/
    private Boolean paySourceToNull;

    /** 支付时间是否更新为空值 **/
    private Boolean payTimeToNull;
    /** 支付时间是否更新为数据库当前时间 **/
    private Boolean payTimeToCurrent;
    /** 支付时间的增加值(单位:秒) **/
    private Long payTimeAdd;

    /** 支付单据号是否更新为空值 **/
    private Boolean voucherCodeToNull;

    /** 交易流水号是否更新为空值 **/
    private Boolean transactCodeToNull;

    /** 支付状态(1.未支付|2.支付中|3.支付成功|4.支付失败)是否更新为空值 **/
    private Boolean payStateToNull;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 更新操作的条件 **/
    private OrderPaymentWhere where;

    /** 判断收款类型(0.平台收款|1.商家收款|2.平台代商家收款)是否更新为空值 **/
    public Boolean isReceiveTypeToNull() {
        return receiveTypeToNull;
    }

    /**
     * 设置收款类型(0.平台收款|1.商家收款|2.平台代商家收款)是否更新为空值
     *
     * @param receiveTypeToNull 收款类型(0.平台收款|1.商家收款|2.平台代商家收款)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setReceiveTypeToNull(Boolean receiveTypeToNull) {
        this.receiveTypeToNull = receiveTypeToNull;
    }

    /** 判断商家租户编号是否更新为空值 **/
    public Boolean isTenantCodeToNull() {
        return tenantCodeToNull;
    }

    /**
     * 设置商家租户编号是否更新为空值
     *
     * @param tenantCodeToNull 商家租户编号是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTenantCodeToNull(Boolean tenantCodeToNull) {
        this.tenantCodeToNull = tenantCodeToNull;
    }

    /** 判断商家账户是否更新为空值 **/
    public Boolean isMerchantAccountToNull() {
        return merchantAccountToNull;
    }

    /** 设置商家账户是否更新为空值 **/
    public void setMerchantAccountToNull(Boolean merchantAccountToNull) {
        this.merchantAccountToNull = merchantAccountToNull;
    }

    /** 判断订单ID是否更新为空值 **/
    public Boolean isOrderIdToNull() {
        return orderIdToNull;
    }

    /**
     * 设置订单ID是否更新为空值
     *
     * @param orderIdToNull 订单ID是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOrderIdToNull(Boolean orderIdToNull) {
        this.orderIdToNull = orderIdToNull;
    }

    /** 判断订单类型(0.捐款订单|1.商品订单)是否更新为空值 **/
    public Boolean isOrderTypeToNull() {
        return orderTypeToNull;
    }

    /**
     * 设置订单类型(0.捐款订单|1.商品订单)是否更新为空值
     *
     * @param orderTypeToNull 订单类型(0.捐款订单|1.商品订单)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOrderTypeToNull(Boolean orderTypeToNull) {
        this.orderTypeToNull = orderTypeToNull;
    }

    /** 判断关联业务ID是否更新为空值 **/
    public Boolean isDataIdToNull() {
        return dataIdToNull;
    }

    /** 设置关联业务ID是否更新为空值 **/
    public void setDataIdToNull(Boolean dataIdToNull) {
        this.dataIdToNull = dataIdToNull;
    }

    /** 判断用户ID是否更新为空值 **/
    public Boolean isUserIdToNull() {
        return userIdToNull;
    }

    /**
     * 设置用户ID是否更新为空值
     *
     * @param userIdToNull 用户ID是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setUserIdToNull(Boolean userIdToNull) {
        this.userIdToNull = userIdToNull;
    }

    /** 判断订单内容是否更新为空值 **/
    public Boolean isOrderContentToNull() {
        return orderContentToNull;
    }

    /**
     * 设置订单内容是否更新为空值
     *
     * @param orderContentToNull 订单内容是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOrderContentToNull(Boolean orderContentToNull) {
        this.orderContentToNull = orderContentToNull;
    }

    /** 判断订单金额(人民币元)是否更新为空值 **/
    public Boolean isOrderAmountToNull() {
        return orderAmountToNull;
    }

    /**
     * 设置订单金额(人民币元)是否更新为空值
     *
     * @param orderAmountToNull 订单金额(人民币元)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setOrderAmountToNull(Boolean orderAmountToNull) {
        this.orderAmountToNull = orderAmountToNull;
    }

    /** 获取订单金额(人民币元)的增加值 **/
    public Double getOrderAmountAdd() {
        return orderAmountAdd;
    }

    /** 设置订单金额(人民币元)的增加值 **/
    public void setOrderAmountAdd(Double orderAmountAdd) {
        this.orderAmountAdd = orderAmountAdd;
    }

    /** 判断支付金额(人民币元)是否更新为空值 **/
    public Boolean isPayAmountToNull() {
        return payAmountToNull;
    }

    /**
     * 设置支付金额(人民币元)是否更新为空值
     *
     * @param payAmountToNull 支付金额(人民币元)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setPayAmountToNull(Boolean payAmountToNull) {
        this.payAmountToNull = payAmountToNull;
    }

    /** 获取支付金额(人民币元)的增加值 **/
    public Double getPayAmountAdd() {
        return payAmountAdd;
    }

    /** 设置支付金额(人民币元)的增加值 **/
    public void setPayAmountAdd(Double payAmountAdd) {
        this.payAmountAdd = payAmountAdd;
    }

    /** 判断支付渠道(0.线下|1.支付宝|2.微信|3.银联)是否更新为空值 **/
    public Boolean isPayChannelToNull() {
        return payChannelToNull;
    }

    /**
     * 设置支付渠道(0.线下|1.支付宝|2.微信|3.银联)是否更新为空值
     *
     * @param payChannelToNull 支付渠道(0.线下|1.支付宝|2.微信|3.银联)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setPayChannelToNull(Boolean payChannelToNull) {
        this.payChannelToNull = payChannelToNull;
    }

    /** 判断支付来源(1.PC网页支付|2.H5网页支付|3.APP支付)是否更新为空值 **/
    public Boolean isPaySourceToNull() {
        return paySourceToNull;
    }

    /**
     * 设置支付来源(1.PC网页支付|2.H5网页支付|3.APP支付)是否更新为空值
     *
     * @param paySourceToNull 支付来源(1.PC网页支付|2.H5网页支付|3.APP支付)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setPaySourceToNull(Boolean paySourceToNull) {
        this.paySourceToNull = paySourceToNull;
    }

    /** 判断支付时间是否更新为空值 **/
    public Boolean isPayTimeToNull() {
        return payTimeToNull;
    }

    /**
     * 设置支付时间是否更新为空值
     *
     * @param payTimeToNull 支付时间是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setPayTimeToNull(Boolean payTimeToNull) {
        this.payTimeToNull = payTimeToNull;
    }

    /** 判断支付时间是否更新为数据库当前时间 **/
    public Boolean isPayTimeToCurrent() {
        return payTimeToCurrent;
    }

    /** 设置支付时间是否更新为数据库当前时间 **/
    public void setPayTimeToCurrent(Boolean payTimeToCurrent) {
        this.payTimeToCurrent = payTimeToCurrent;
    }

    /** 获取支付时间的增加值(单位:秒) **/
    public Long getPayTimeAdd() {
        return payTimeAdd;
    }

    /** 设置支付时间的增加值(单位:秒) **/
    public void setPayTimeAdd(Long payTimeAdd) {
        this.payTimeAdd = payTimeAdd;
    }

    /** 判断支付单据号是否更新为空值 **/
    public Boolean isVoucherCodeToNull() {
        return voucherCodeToNull;
    }

    /** 设置支付单据号是否更新为空值 **/
    public void setVoucherCodeToNull(Boolean voucherCodeToNull) {
        this.voucherCodeToNull = voucherCodeToNull;
    }

    /** 判断交易流水号是否更新为空值 **/
    public Boolean isTransactCodeToNull() {
        return transactCodeToNull;
    }

    /** 设置交易流水号是否更新为空值 **/
    public void setTransactCodeToNull(Boolean transactCodeToNull) {
        this.transactCodeToNull = transactCodeToNull;
    }

    /** 判断支付状态(1.未支付|2.支付中|3.支付成功|4.支付失败)是否更新为空值 **/
    public Boolean isPayStateToNull() {
        return payStateToNull;
    }

    /**
     * 设置支付状态(1.未支付|2.支付中|3.支付成功|4.支付失败)是否更新为空值
     *
     * @param payStateToNull 支付状态(1.未支付|2.支付中|3.支付成功|4.支付失败)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setPayStateToNull(Boolean payStateToNull) {
        this.payStateToNull = payStateToNull;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 获取更新操作的条件 **/
    public OrderPaymentWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public OrderPaymentWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new OrderPaymentWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(OrderPaymentWhere where) {
        this.where = where;
    }
}